var express = require('express');
var router = express.Router();
const fs = require('fs');
const iconv = require('iconv-lite');
const { v4: uuidv4 } = require("uuid");
const { transcation_classification_enum } = require('../config');
const { setBill, getUser } = require('../models/bill');

/* GET home page. */
router.get('/',async function (req, res, next) {
  // const result = await getUser();
  // console.log(result);
  res.render('index', { title: 'Express' });
});

router.get('/setData', function (req, res, next) {
  const str = '1、餐饮美食。2、服饰装扮。3、日用百货。4、居家装饰。5、美容美发。6、母婴亲子。7、宠物。8、交通出行。9、爱车养车。10、住房物业。11、酒店旅游。12、文化休闲。13、教育培训。14、医疗健康。15、生活服务。16、公共服务。17、商业服务。18、公益捐赠。19、互助保障。20、投资理财。21、保险。22、信用借还。23、充值缴费。24、收入。25、专账红包。26、亲友代付。27、账户存取。28、退款。29、其他';
  const arr = str.split('。');
  let result = []
  arr.forEach(item => {
    const itemArr = item.split('、');
    result.push({
      name: itemArr[1],
      value: itemArr[0]
    })
  })
  fs.writeFile('test.txt', JSON.stringify(result), (err) => {
    console.log(err);
  })
  // res.render('index', { title: 'Express' });
  res.end();
});

router.get('/data', function (req, res, next) {
  fs.readFile(`${process.cwd()}/public/csv/alipay_record2.csv`, async (err, buffer) => {
    if (err) {
      console.log(err);
      return;
    }
    // 使用iconv-lite将Buffer对象从GB2312转换为UTF-8字符串
    const data = iconv.decode(buffer, 'gb2312');

    // console.log(data);
    const arr = data.split("\n");
    const newArr = arr.slice(25, (arr.length - 1))
    // console.log(arr);
    let billArr = []
    newArr.forEach(item => {
      const itemArr = item.split(',');
      billArr.push([uuidv4(), itemArr[0], getTranscationClassificationVal(itemArr[1]), itemArr[2], itemArr[3], itemArr[4], itemArr[5] === '支出' ? 2 : 1, +itemArr[6], itemArr[7], itemArr[9], itemArr[10], '66884818-6d20-4aab-8529-6e6c2042083b'])
    })
    console.log(billArr.length);
    const result = await setBill(billArr);
    res.json({
      data: billArr
    })
  });
})

router.get('/data2', function (req, res, next) {
  fs.readFile(`${process.cwd()}/public/csv/微信支付账单(20221101-20230131).csv`, async (err, buffer) => {
    if (err) {
      console.log(err);
      return;
    }
    // 使用iconv-lite将Buffer对象从GB2312转换为UTF-8字符串
    const data = iconv.decode(buffer, 'utf-8');

    // console.log(buffer);
    const arr = data.split("\n");
    const newArr = arr.slice(17, (arr.length - 1))
    // console.log(arr);
    let billArr = []
    newArr.forEach(item => {
      const itemArr = item.split(',');
      billArr.push([uuidv4(), itemArr[0], getTranscationClassificationVal(itemArr[1]), itemArr[2], itemArr[3],itemArr[4] === '支出' ? 2 : 1, +itemArr[5].slice(1), itemArr[6], itemArr[8], itemArr[9], '66884818-6d20-4aab-8529-6e6c2042083b'])
    })
    // console.log(transcation_classification_enum);
    // console.log(billArr.length);
    // const result = await setBill(billArr);
    res.json({
      data: billArr
    })
  });
})

const getTranscationClassificationVal = (name) => {
  // 微信支付账单(20221101-20230131)
  if(name.indexOf('退款') !== -1) {
    return 28;
  }
  if(name.indexOf('微信红包') !== -1) {
    return 37;
  }
  if(!transcation_classification_enum.some(item => item.name === name)) {
   console.log(name);
  }
  return +transcation_classification_enum.find(item => item.name === name)?.value;
}

module.exports = router;
